Device and method for controlling a machine tool

ABSTRACT

A device and a method are provided for controlling a machine tool, at least one arbitrarily organized database having supplementary data being used for workpiece machining. During the execution of a machining program using a processing unit, the database commands are processed by an interpreter unit in the processing unit such that the required data are retrieved from the database and are further processed in the machining program (FIG.  1 ).

[0001] The present invention is directed to a device, as well as to a method for controlling a machine tool.

[0002] To machine workpieces on a numerically controlled machine tool, supplementary data are sometimes needed, which are stored in tabular form in data files outside of the actual machining program, i.e., NC program. Such supplementary data can include, for example, geometrical tool data or, however, of compensation values for the tool geometry obtained from a workpiece measurement. Typically, the type and structure or organization of such supplementary data in a data file are dependent upon the particular machining technology and sometimes even upon the particular machine tool type. Accordingly, there is a great variety in the types and structures of such supplementary data in the corresponding data files.

[0003] When a particular machining program is executed, the need can arise for a specific machining task to access the supplementary data from the machining program. For example, it can become necessary to input tool compensation data in order to properly correct the tool radius on the basis of the input data. This, in turn, requires that the structure of the extracted supplementary data, i.e., the specific organization of the database in question already be known at the time the control software is created, and not first at the time the machining program is created. This means that the control manufacturer must know and take into consideration the database structures in question already at the time the control software is created. Thus, for example, at this point in time, one must already know in which line and/or column, i.e., cell, of such a database, specific supplementary data are to be found. Then, it is no longer possible, later on, to use a data file having a supplementary-data structure, i.e., supplementary-data organization that deviates from the originally considered structure. Accordingly, the control software created in this manner is not to be utilized independently of a specific machining technology or independently of a special machine tool type. The object of the present invention is, therefore, to provide a device, as well as a method for controlling a machine tool, which will enable supplementary data, which are organized in any way at all, to be flexibly utilized from a machining program, without the specific organization or structure of the supplementary data already being known ahead of time, in particular already at the time the control software is created.

[0004] This objective is achieved by a device having the features set forth in claim 1.

[0005] Advantageous specific embodiments of the device according to the present invention are derived from the measures indicated in the claims which are dependent upon claim 1.

[0006] In addition, the above-specified objective is achieved by a method having the features set forth in claim 10.

[0007] Advantageous specific embodiments of the method according to the present invention are derived from the measures indicated in the claims which are dependent upon claim 10.

[0008] The measures according to the present invention ensure that, from a machining program, supplementary data may be extracted from a database, without the specific type and structure of the database and the supplementary data stored therein having to be known already at the time the control software is created. Knowledge of the database in question and of its specific organization is not needed until the actual machining program is created at the particular machine. This ensures that the control software, which is created at one time, may be utilized for the most diversified machining technologies and/or the most diversified machine tool types, which work in conjunction with supplementary data organized in various ways.

[0009] In one especially advantageous specific embodiment of the present invention, in the particular machining program, to retrieve supplementary data from a database of this kind, database access commands are used which are based on the SQL database language or on another standardized database language.

[0010] With respect to the particular database in which the supplementary data are stored, very diverse specific embodiments exist. These may be stored, for instance, spatially separated from the particular machine or from the particular machining program; they may just as well be stored locally with the machining program, etc.

[0011] Further advantages of the present invention and details pertaining thereto are derived from the following description of the attached drawing, whose figures show:

[0012]FIG. 1 a very schematized block diagram illustration of an exemplary embodiment of the device according to the present invention;

[0013]FIG. 2 an extract from a machining program which includes commands for inputting supplementary data.

[0014] On the basis of the two FIGS. 1 and 2, the device of the present invention, as well as the method of the present invention are elucidated in the following. In a very schematized form, FIG. 1 shows one possible specific embodiment of the device according to the present invention which is suited for numerically controlling a machine tool. The device according to the present invention essentially includes a processing unit 20 having various functional units, as well as a database 40. The functions of the various components are explained in greater detail in the following description.

[0015] In the present example, database 40 is configured so as to be spatially separate from processing unit 20 and is linked to the same via a communications channel 60, via which data are exchanged between processing unit 20 and database 40. Communications channel 60 may be implemented in a variety of ways, for instance in the form of a network or bus connection, or also as an Internet connection, etc. Alternatively, database 40 may also be fundamentally located in the immediate vicinity of processing unit 20.

[0016] As explained at the outset, supplementary data required for workpiece processing are stored in database 40. These may be very diversified types of supplementary data, such as the already mentioned tool compensation data, other supplementary data pertaining to tool geometry, and/or supplementary data pertaining to a specific machine tool type.

[0017] What is important, at this point, for the present invention is that the supplementary data, i.e., database 40, are able to be organized in any manner at all, i.e., particularly when creating the control software, the knowledge of the specific line-by-line or tabular organization of database 40 is not necessary. At this point in time, it is merely necessary then to know the logical structure of database 40 in question, i.e., which type of data are to be ultimately extracted from the database. Accordingly, the database in question may be configured both as a database that is organized in tabular form, as well as a commercially available database system. It is possible at this point, for instance, to use database 40 of a tool manufacturer in which this manufacturer has stored specific correction data. Within the course of the workpiece machining, the supplementary data are needed to allow for a tool compensation on the program side.

[0018] Besides the database's logical structure, to create the control software, one merely needs to know the protocol in communications channel 60 via which the data transfer with database 40 is handled.

[0019] Similarly to communications channel 60, database 40 in question may have many different physical designs. This means that basically all standard storage media, such as hard disk drives, CD ROMS, etc., are available for database 40. Furthermore, the database may be made up of one or of a plurality of tables having corresponding line and column structures.

[0020] In FIG. 1, reference numeral 10 denotes the machining program, i.e., the particular NC program executed by processing unit 20 in the course of the workpiece machining. It is provided in accordance with the present invention that, besides the usual machining instructions in the form of NC record instructions, machining program 10 also includes database access commands. In this connection, using database access commands, inter alia from machining program 10, supplementary data in database 40 may be selectively accessed, should this be necessary in the course of the workpiece machining. In addition, by way of the database access commands in machining program 10, the supplementary data extracted at any one time are assigned to a variable of machining program 10. Alternatively, in this manner the supplementary data extracted at any one time may be assigned to internal variables of the control software. In all cases, by way of this type of assignment, one may selectively influence the function of machining program 10 at this point.

[0021] To ensure access to the supplementary data of arbitrarily organized database 40, specific measures in accordance with the present invention are needed on the part of processing unit 20, as explained in the following. To access supplementary data from machining program 10, at this point, in conjunction with the database access commands, explicit knowledge of the specific database organization is no longer needed. It is, rather, commands from a standardized database language, such as SQL, which are used as database access commands in machining program 10. They make it possible to read out data from a database without having to know the specific structure of the table.

[0022] For processing of machining program 10, processing unit 20 has an input interface 21 for machining program 10. Configured downstream from input interface 21 is an interpreter unit 22, on the side of the processing unit. Besides executing the usual NC records in machining program 10, interpreter unit 22 also undertakes the correct processing of the database access commands, which are likewise contained in machining program 10. Thus, the database access commands are identified as such by interpreter unit 22, and, for example, the retrieval of supplementary data from database 40 via a database interface 23 in processing unit 20 is organized by interpreter unit 22. Supplementary data retrieved in this manner are subsequently fed to a conversion unit 24, which uses the supplementary data in the further course of the machining to execute machining program 10.

[0023] The above-explained functional units of processing unit 20, such as the various interfaces 21, 23, as well as interpreter unit 22, and conversion unit 24, are usually designed as software.

[0024] Illustrated downstream from processing unit 20 is merely block 50, which is intended to represent the machine tool that is controlled by the unit.

[0025] Besides the components discussed so far, FIG. 1 schematically shows a database management unit 30 that is linked via communications channel 60. The data exchange between processing unit 20 and database 40 is organized via database management unit 30. In concrete terms, this means that database management unit 30 is addressed via the standardized database access commands, and, in accordance with the database access commands, the requested supplementary data are extracted from database 40. The supplementary data, extracted in this manner, are then made available by database management unit 30 to processing unit 20, respectively to conversion unit 24, for further processing.

[0026] In addition to the elucidated read access to the data of database 40, a write access to database 40 is, of course, also possible. Thus, for example, a tool may be measured and the thereby generated data written as new compensation data into a corresponding database. A write access of this kind to database 40 is also organized via database management unit 30.

[0027] In one possible specific embodiment, database management unit 30 is designed, for instance, as an SQL server.

[0028]FIG. 2 shows an example of one part of a machining program 10, which, between program lines N110 and N160, includes, in particular, a plurality of database access commands, via which supplementary data are extracted from a database, to be made available for further processing.

[0029] In both program lines N110 and N120, data from database TOOL to be queried are assigned to variables Q1, Q2 of machining program 10. Thus, via program line N110, a value from database column “radius” is linked to variable Q1; via program line N120, a value from database column “length” is linked to variable Q2.

[0030] Via the following program line N130, values for length and radius of tool type no. 2 are read out of database TOOL.

[0031] Finally, via program line N140, the exchange of tool no. 2 is initiated, and the allowances Q1 for the radius and Q2 for the length read out of the database TOOL are considered.

[0032] Machining program 10 is selected in the usual manner via subsequent program lines N150.

[0033] Analogously to this example, data from databases organized in any way whatsoever are accessed in the manner of the present invention. 

What is claimed is:
 1. A device for controlling a machine tool, the device comprising the following components: a) at least one database (40) having supplementary data which are required for workpiece processing, the database (40) being arbitrarily organized; b) a processing unit (20), which includes the following functional units: b1) an input interface (21) for a machining program (10), which is suited for controlling the machine tool (50) during workpiece machining, the machining program (10) also including database access commands; b2) a database interface (23) to the database (40); b3) an interpreter unit (22), which processes the database access commands in the machining program (10) such that additionally required supplementary data are retrievable from the database (40); b4) a conversion unit (24), which uses the supplementary data retrieved from the database (40) in the further course of the machining to execute the machining program (10).
 2. The device as recited in claim 1, wherein connected via a communications channel (60) between the database (40) and the database interface (23), is a database management unit (30), which organizes the data exchange between the processing unit (20) and the database (40).
 3. The device as recited in claim 2, wherein the database management unit (30) is configured such that it is addressable via the database access commands on the part of the processing unit (20), in accordance with the database access commands, extracts the requested supplementary data from the database (40), and makes available the supplementary data in question to the conversion unit (23) for further processing.
 4. The device as recited in claim 3, wherein the database management unit (30) is designed as an SQL server.
 5. The device as recited in claim 2, wherein the communications channel (60) renders possible a bidirectional data exchange between the database (40) and the processing unit (20).
 6. The device as recited in claim 1, wherein the interpreter unit (23) is designed as software.
 7. The device as recited in claim 1, wherein the database (40) is located so as to be spatially separated from the processing unit (20).
 8. The device as recited in claim 1, wherein the database (40) has a line and column structure.
 9. The device as recited in claim 1, wherein the supplementary data stored in the database (40) relate to the tool geometry and/or to a specific machine tool type.
 10. A method for controlling a machine tool, wherein, for this, at least one arbitrarily organized database (40) having supplementary data for the workpiece machining is used, and, during the execution of a machining program (10), using a processing unit (20), an interpreter unit (23) processes database access commands in the machining program (10) in such a way that additionally required supplementary data are retrieved from the database (40) for further workpiece machining.
 11. The method as recited in claim 10, wherein supplementary data are requested and exchanged between the processing unit (20) and the database (40) via a communications channel (60) between the processing unit (20) and the database (40), and a database management unit (30) used for organizing the data exchange between the processing unit (20) and the database (40) is connected via the communications channel (60).
 12. The method as recited in claim 11, wherein the database management unit (30) is addressed via the database access commands on the part of the processing unit (20), in accordance with the database access commands, the requested supplementary data are extracted from the database (40) via the communications unit (30), and the supplementary data in question are made available by the communications unit (30) to a conversion unit (24) for further processing.
 13. The method as recited in claim 12, wherein an SQL server is used as the database management unit (30).
 14. The method as recited in claim 10, wherein the database access commands contained in the machining program (10) are based on the SQL database language or on another standardized database language, which make it possible to read out from very diversified databases.
 15. The method as recited in claim 10, wherein, by way of the database access commands in the machining program (10), the extracted supplementary data of the database (40) are assigned to variables of the machining program (10).
 16. The method as recited in claim 10, wherein the retrieved supplementary data from the database (40) are used in the course of the further workpiece machining to parameterize further machining tasks. 